Home automation makes use of wireless networks. Over the past years, numerous types of networks have been proposed and are being used. As an example, ZigBee is a low-cost, low-power, wireless mesh network standard. The low cost allows the technology to be widely deployed in wireless control and monitoring applications. Low power usage allows longer life with smaller batteries. ZigBee is based on an IEEE 802.15.4 standard. Though low-powered, ZigBee devices often transmit data over longer distances by passing data through intermediate devices to reach more distant ones, creating a mesh network; i.e., a network with no high-power transmitter/receiver able to reach all of the networked devices. The decentralized nature of such wireless ad hoc networks makes them suitable for applications where a central node can't be relied upon.
In order for applications to communicate, their comprising devices must use a common application protocol (types of messages, formats etc.). These sets of conventions are grouped in so-called profiles. Furthermore, binding is decided upon by matching input and output cluster identifiers, unique within the context of a given profile and associated to an incoming or outgoing data flow in a device. Binding tables contain source and destination pairs. ZigBee is available as two feature sets, ZigBee PRO and ZigBee and they define how ZigBee mesh networks operate. ZigBee PRO, the most widely used specification, is optimized for low power consumption and to support large networks with thousands of devices. ZigBee PRO proposes several profiles that could coexist in the same area. However, at the moment, there are some incompatibilities which prevent nodes from different profiles to form a single network.
ZigBee Home Automation (ZHA) is an industry global standard helping to create smarter homes that enhance the comfort, convenience, security and energy management for the consumer. Furthermore, ZigBee Light Link (ZLL) gives the lighting industry a global standard for interoperable and very easy-to-use consumer lighting and control products. It allows consumers to gain wireless control over all their LED fixtures, light bulbs, via timers, remotes and switches. An emblematic case is represented by ZHA profile and ZLL profile devices. The main gap here is represented by the different nature of the profiles involved. Namely, ZHA is built around a central coordinator while ZLL devices can operate in a distributed network taking advantage of a Touchlink mechanism to add components and manage the lighting network.
The task of configuring devices and networks to achieve the needs of the specific installation is known as commissioning. In its broadest sense, commissioning encompasses a wide range of tasks, including a survey of the radio and physical environment, the placement of devices, configuration of parameters, application binding, optimization of network and device parameters, and testing and verification of correct operation. Often, non- and semi-technical issues need to be considered, including the skills and workflow practices of the installer, ease of identification and accessibility of devices, and interoperability and coexistence with other wireless or wired systems. While consideration for commissioning is often focused on the installer, the ability to easily configure and commission ZigBee systems during development and testing, as well as field trials, can also significantly speed up the development and product delivery to market. Moreover, ease of commissioning is also important for the do-it-yourself consumer market.
The commissioning process involves a number of steps, namely finding and joining or creating a network, establishing a security association, discovering device(s) and service(s), and establishing a control relationship (in ZigBee referred to as finding and binding).
Three different commissioning modes are typically discussed with in the ZigBee Alliance. First, A-mode (automatic mode) which involves automatic commissioning of devices. The A-mode generally allows for minimal (or no) human intervention. Second, E-mode (easy mode), which involves the use of buttons or other physical mechanisms on devices to direct devices during commissioning. The E-mode allows for simpler end-user or professional installer commissioning. It usually targets small installations (size: typical home). Third, S-mode (system mode), which involves the use of external tools and are typically used by expert installers. The S-mode represents the most complex form of commissioning and includes the highest level of human intervention. It usually targets larger installations such as commercial premises and high-end residential environments. Furthermore, the S-mode is a centralized commissioning which is a means for a (central) device to—perform or control or influence commissioning on/of other devices. This type of commissioning is also being referred to as Gateway-, or Tool-commissioning. The central device can be a gateway, a home controller or a commissioning tool that is typically connected to a graphical user interface. It is able to configure bindings and reporting on other devices in the network. In order to perform the centralized commissioning, the functions are not dependent on the device being the ZigBee Coordinator. In fact, it can be a ZigBee Router as well. The device in a ZHA network with this functionality is defined as Commissioning Director (CD).
Current specifications for ZHA profiles define two different main commissioning modes, namely EZ-mode commissioning (e.g. push button commissioning) and centralized commissioning (e.g., aka Gateway, Tool or S-mode Commissioning), wherein EZ-Mode and centralized commissioning are complementary and fully compatible.
FIGS. 1 and 2 show flow charts representing conventional ways of commissioning for a node. An EZ-mode commissioning, in particular, is characterized by a network steering procedure as shown in FIG. 1.
According to FIG. 1, EZ-mode network steering is invoked at step S101, e.g. by a user action. Then, at step S102 it is checked whether the node is connected to or operating in a network. If so, it is checked at step S103 whether a permit join method is enabled. This is indicated by a permit join flag used to determine whether devices are allowed to join the device. If permit join is enabled, a permit join broadcast subroutine is initiated at step S104, to instruct also other devices to allow joining. Thereafter, a permit join setting subroutine is initiated at step S105 which ends with a permit join timeout until the procedure ends at step S108. If it is determined at step S102 that the node is not connected to or operating in a network, a scan and join procedure is initiated and it is checked at step S106 whether the procedure was successful. If so, the procedure jumps to step S104 and the permit join procedure is initiated, to allow further devices to join, including at the newly added device. If failure of the scan and join procedure is determined at step S106, an optional network formation procedure is initiated and it is optionally checked at step S107 whether the network formation procedure was successful. If so, the procedure jumps to step S105 and the permit join setting subroutine is initiated, to allow further devices to join this newly formed network. If failure of the network formation procedure is determined at step S107, the procedure ends at step S108. It is a shortcoming of the current EZ-Mode procedure, not to indicate exactly under which conditions the network formation of step S107 may happen, and what exactly should be the result. This will lead to inconsistent behaviour in the network, and non-interoperability. Since the procedure is optional, it may—in certain scenarios—result in no network formation at all.
In the same vein, the ZLL profile specification (as disclosed in docs-zll-zigbee-light-link-zll-profile-specification, ZigBee document number 11-0037) provides as preferred commissioning mechanism a Touchlink commissioning. The ZLL system benefits from a simplified installation method in order to appeal to the consumer market. This method is known as Touchlink and minimizes user participation, allowing off-the-shelf products to be quickly and easily installed by the consumer. Touchlink removes the need for a ZigBee Coordinator in the network formation and join processes. The method uses a special commissioning application (based on a ZLL commissioning cluster) which is run on the nodes. The node that initiates the network formation/join operation is known as the ‘initiator’—this node will often be a remote control unit but could be another node, e.g. a switch, a sensor or even a lamp. Touchlink simply requires the initiator node to be brought close to the node to be included in the network and the commissioning to be started (e.g. by pressing a button). The node that is contacted by the initiator to perform a network formation or join operation is known as the ‘target’.
FIG. 2 shows a signalling diagram which summarizes steps performed in the Touchlink procedure by a ZLL initiator (ZLL-I) and a ZLL target (ZLL-T), as described in ZLL specification (ZigBee document 11-0037-10).
The procedure begins at step 201, upon an optional user intervention or other trigger. At step 202 the initiator broadcasts a scan request inter-PAN command frame on each of the primary ZLL channels (11, 15, 20, 25) and waits at step 202a a pre-determined time duration to receive any answer, before switching to the next channel. The initiator first five consecutive scan request inter-PAN command frames on the first primary ZLL channel (i.e., channel 11), and then broadcasts a single scan request inter-PAN command frame on each of the remaining primary ZLL channels in turn (i.e., channels 15, 20 and 25, respectively). After each transmission, the initiator shall wait aplcScanTimeBaseDuration seconds to receive any responses. On receipt of a scan request, the target device checks at step 203 if the RSSI of the received scan request is above a certain pre-defined threshold. If so, the target device unicasts a scan response at step 204.
The initiator may request information about the additional sub-devices of the target by unicasting a device information request at step 205. On receipt of this request, the target replies at step 206 with a device information response.
Optionally, e.g. to let the user select among multiple of devices found, the initiator may generate and transmit an identify request inter-PAN command frame to the target device at step 207, with the identify time field set to a pre-defined time duration. On receipt of an identify request the target identifies itself in an application specific way but does not generate any response. At step 208 the initiator may transmit to the target an identify request stop.
Further actions in the procedure depend on the check at step 209, in which it is verified whether the initiator is a factory new device.
If the initiator is factory new, at step 210, it sends to the selected target a network start request inter-PAN command frame and, at step 210a, it starts a reception window with a predetermined duration to allow the target device to send a response. On receipt of the network start request, the target decides at step 211 whether to allow itself to start a new network. If the target decides to start a new network, at step 212 it transmits back to the initiator a network start response inter-PAN command frame with a status indicating success. On receipt of a network start response within the time window, the initiator starts at step 213 a new time window, with a predetermined duration (aplcMinStartupDelayTime), to allow the target to create the new network. At step 214, is determined if the target is a factory new device. If not, at step 216 the target performs a leave request on its old network and copies the new network parameters to its network information base and starts operating on the new network. If the time window started at step 213 is elapsed, the initiator joins at step 215 the new network by means of a rejoining procedure.
If at step 209 is determined that the initiator is a non factory new device, the procedure continues at step 218 in which the initiator transmits a network join router request inter-PAN command frame or a network join end device request inter-PAN command frame, depending on the target's device type, to the target and, at step 218a, enables its receiver for a pre-determined time duration to wait the target response. If the target decides to join the network, at step 219, it transmits back to the initiator a network join router/end device response inter-PAN command frame at step 220. At step 223, the initiator waits for a pre-determined time duration (e.g. aplcMinStartupDelayTime) to allow the target device to start operating in the new network correctly. At step 221, it is checked whether the target device is factory new. If the target device is not factory new, it performs, at step 222, a leave request on its old network and at step 224 joins the new network.
Furthermore, in order to allow ZLL devices to join a non-ZLL network, ZLL devices have also to support a Classical Commissioning procedure, complementary to the Touchlink modality.
Although these procedures are currently supported and shared among the devices belonging to the same public application profile, they do not provide a common set of mechanisms able to allow interoperability between devices of different profiles.
Furthermore, the step related to the creation of the network, in case of a factory new device, presents a relevant gap for both. The formation and joining defined in the ZigBee specification does not allow for communication of two devices not yet operational in the network. Therefore, the ZLL procedure relies on an initiator which guarantees network inception via inter-PAN based commands, while ZHA devices rely on the presence of a central coordinator, absent in the ZLL network topology. For these reasons, the current commissioning procedures are not applicable in any context in which a ZLL router is to be connected to a ZHA end device or a ZHA router is to be connected to a ZLL end device, especially in the absence or without the assistance of any other devices (for example: a ZHA switch aiming at controlling a ZLL light bulb, or a ZLL switch aiming at controlling a ZHA light bulb).
In particular, two main problems are the necessary presence of one and only one coordinator for creation of a network, which limits current commissioning mechanisms for ZHA devices, and the inability of ZLL router devices to originate a network without an initiator providing initial setting parameters (i.e. PAN ID, EPID, operational channel, network security key, network address etc.) via the Touchlink procedure.